#pragma once
#include "OSHeaders.h"
#include "OS.h"

typedef struct _slots_table {
    UInt32   nLen;
    UInt8    bKeyFrame;
} SLOT_TABLE;

using namespace std;


#define AUDIO_TRACKID	1
#define VIDEO_TRACKID	2
#define OTHER_TRACKID	3

class Parser
{
public:
	Parser( string );
	virtual ~Parser(void);

	virtual Bool	Initialize() = 0;
	virtual string GetSDP() = 0;
	virtual UInt32	GetDuration() =0;
	virtual SLOT_TABLE *	GetLengthTable() =0;
	virtual UInt32	GetSecondNum() = 0;
    
public:
	string filename;
    string sdp;
    UInt32   duration;
};

#define LINUX_SOURCE	0
#define WINDOWS_SOURCE	1
#define SOURCE_VERSION  1